#
# This file is a part of the open-eBackup project.
# This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
# If a copy of the MPL was not distributed with this file, You can obtain one at
# http://mozilla.org/MPL/2.0/.
#
# Copyright (c) [2024] Huawei Technologies Co.,Ltd.
#
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
#

from redis.common.const import ErrorCode


class CustomError(Exception):
    """
    自定义异常
    """

    def __init__(self, error_code=ErrorCode.ERROR_INTERNAL, error_desc='', error_parameter=None):
        super().__init__()
        self._error_code = error_code
        self._error_desc = str(error_desc)
        self._error_parameter = error_parameter

    @property
    def code(self):
        return self._error_code

    @property
    def desc(self):
        return self._error_desc

    @property
    def error_parameter(self):
        return self._error_parameter
